/**
 * Copyright (C) 2013 DaiKit.com - daikit4gxt module (admin@daikit.com)
 *
 *         Project home : http://code.daikit.com/daikit4gxt
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.daikit.daikit4gxt.client.utils.miscs;

import java.util.Date;

import com.google.gwt.i18n.client.NumberFormat;
import com.daikit.daikit4gxt.client.DkMain;
import com.daikit.daikit4gxt.client.log.BaseLogger;

public class StandardFieldFormatter
{

	private static BaseLogger log = BaseLogger.getLog(StandardFieldFormatter.class);

	public static MyDateFormat dateFormat = new MyDateFormat();
	public static NumberFormat doubleFormat = NumberFormat.getFormat("0.00");

	public static String getFormattedValue(Object value)
	{
		if (value == null) return null;
		if (value instanceof Date)
		{
			return dateFormat.format((Date) value);
		}
		else if (value instanceof Double)
		{
			return doubleFormat.format((Double) value);
		}
		else if (value instanceof Integer)
		{
			return Integer.toString((Integer) value);
		}
		else if (value instanceof Boolean)
		{
			return ((Boolean) value) ? DkMain.i18n().label_true() : DkMain.i18n().label_false();
		}
		else if (value instanceof String)
		{
			return (String) value;
		}
		log.warn("[StandardFieldFormatter] unknown value type : value=[" + value + "] type=[" + value.getClass().getName() + "]");
		return value.toString();
	}

}
